package com.forum.service;

import com.forum.model.vo.PostVO;

import java.util.List;

/**
 * 收藏服务接口
 */
public interface FavoriteService {
    
    /**
     * 收藏帖子
     * @param userId 用户ID
     * @param postId 帖子ID
     * @return 操作结果 true-收藏成功 false-取消收藏
     */
    boolean favorite(Long userId, Long postId);
    
    /**
     * 判断用户是否已收藏
     * @param userId 用户ID
     * @param postId 帖子ID
     * @return 是否已收藏
     */
    boolean hasFavorited(Long userId, Long postId);
    
    /**
     * 获取帖子收藏数量
     * @param postId 帖子ID
     * @return 收藏数量
     */
    int getFavoriteCount(Long postId);
    
    /**
     * 获取用户收藏的帖子列表
     * @param userId 用户ID
     * @return 帖子列表
     */
    List<PostVO> getUserFavorites(Long userId);
} 